//
//  EmotionAttachment.swift
//  EmotionKeyboard
//
//  Created by 史亚洲 on 16/2/6.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

class EmotionAttachment: NSTextAttachment {

    //表情对应的文本
    var chs: String?
    
    //将表情图片转换为包含附件的属性文本
    class func emotionImageToAttributeString(em: Emotion,font: UIFont) -> NSMutableAttributedString {
        //如何将图片输入到textView中,附件类的
        let attachment=EmotionAttachment()
        attachment.chs=em.chs
        
        //设置附件大小
        let lineHeight=font.lineHeight
        attachment.bounds=CGRect(x: 0, y: -4, width: lineHeight , height: lineHeight)
        
        //1.给附件设置图片
        attachment.image=UIImage(contentsOfFile: em.imagePath ?? "")
        
        //2.如何将附件给替换到文本中,需要使用到附文本(属性文本)
        //2.1将附件添加到属性字符串中
        let imageText=NSMutableAttributedString(attributedString: NSAttributedString(attachment: attachment))
        
        //第一个是OK的,由于跟随之前的文本的样式,但是自己本身没有设置样式,就导致后面的第二个设置的图片就跟随了他默认大小
        //给属性文本设置属性
        imageText.addAttribute(NSFontAttributeName, value: font, range: NSRange(location: 0, length: 1))
   
        return imageText
    }
    
}
